The present invention relates to a method and apparatus for simulating delays experienced by information sent through a digital network, more specifically, trunk propagation delays within an ATM network.
Asynchronous Transfer Mode (ATM) or xe2x80x9ccell switchingxe2x80x9d is a method of transmitting digital information wherein the information is broken into equal sized units called cells. The individual cells of information are transmitted from a source node to a destination node through a pathway (or connection) through a digital network. The digital network may be constructed of digital switches coupled together by digital communication links. These links may be trunks, which carry the cells of information between the digital switches along the connection. The digital switches route the cells from incoming communication links to outgoing communication links and finally to the destination node.
Real world networks may transport cells from a large number of switches across many links. Each of these links may have various propagation delays associated with them, some of which may be the result of significant use of the link or links. Designers of digital switches and networks must be cognizant of such factors when developing hardware and software for application in network environments. For example, those who design congestion control algorithms and the like must accurately account for real world propagation delays when developing the control schemes.
Unfortunately, trunk propagation delay simulators for ATM networks are not readily available. The few commercial propagation delay simulation systems which do exist are relatively expensive and most do not provide the capability of simulating links which operate at speeds of OC-3 or higher. In fact, the inventors are not aware of any commercially available simulators, which operate at speeds of OC-12. Thus, it would be desirable to have a delay simulator that can be used at these speeds and which does not require the use of expensive, custom systems.
It is an object of the invention to provide a trunk delay simulator capable of scalable operation.
In one embodiment, a method wherein a cell is delayed by a predetermined time by injecting one or more delay cells ahead of said cell into a queue in a network (e.g., an ATM network). The queue may comprise a cell egress queue at a switch of the ATM network and the delay cells may be generated at the switch using a local processor. If required, additional cells may be generated by replicating the locally generated cells. The delay cells, including the replicated cells, may be stored together with the network cells in the queue; the number of delay cells so stored being controlled by configuring a threshold for the egress queue.
In a further embodiment, trunk delay in a network (e.g., an ATM network) may be simulated by receiving, at a trunk delay simulator, a plurality of cells representing traffic in the network; and delaying each of the cells by a desired period of time. Preferably, delaying each of the cells is accomplished by injecting delay cells ahead of each of the network cells into a traffic flow at the simulator. Viewed another way, delaying each of the network cells is accomplished by servicing each of the cells from a queue, at intervals spaced to correspond to the desired period of time. These delay intervals may be created using delay cells stored in the queue along with the network cells. The number of delay cells stored in the queue may be dynamically controlled by configuring a threshold to limit the number of delay cells admitted to the queue.
In yet another embodiment, a trunk delay simulator which includes a queue configured to output network cells at times corresponding to a desired delay between their receipt and transmission is provided. The queue is also configured to service a number of delay cells prior to each of the network cells, the number of delay cells so serviced being controlled (e.g., using a configurable threshold associated with the queue) so as to allow the network cells to be serviced at the desired times. The trunk delay simulator preferably includes a local processor configured to inject the delay cells into the queue.